{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import datasets"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# $k$ Nearest Neighbors Classifier\n",
    "\n",
    "- Predict the class (or color) of a given new point based on the classes (or color) of its k nearest neighbor\n",
    "\n",
    "- For example, the most frequent class (or color), and possibly weight the frequency by distance\n",
    "\n",
    "- If algorithm implemented manually, make sure you leave-one-out as the nearest neighbor of a point will always be itself!\n",
    "> <img src=https://upload.wikimedia.org/wikipedia/commons/e/e7/KnnClassification.svg width=200>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example (1 nearest neighbor coded manually)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### Nearest Neighbor\n",
    "\n",
    "\n",
    "- Assign label or value of nearest neighbor (NN) in the training set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Unique classes: [0 1 2]\n",
      "Number of mislabeled points out of a total 150 points: 6\n"
     ]
    }
   ],
   "source": [
    "# Load iris data set\n",
    "iris = datasets.load_iris()\n",
    "X = iris.data[:,:]\n",
    "y = iris.target\n",
    "\n",
    "print ('Unique classes:', np.unique(y))\n",
    "\n",
    "y_pred = -1 * np.ones(y.size)\n",
    "\n",
    "# loop on query set\n",
    "for i in range(y.size): \n",
    "    \n",
    "    d2min = 1e99  # something large\n",
    "    \n",
    "    # loop on training set\n",
    "    for j in range(y.size):\n",
    "        if i != j:               # leave one out\n",
    "            d = X[i,:] - X[j,:]  # diff vector\n",
    "            d2 = d.dot(d)        # its length squared\n",
    "            if d2 < d2min:       # check if closer\n",
    "                d2min = d2       # save it \n",
    "                y_pred[i] = y[j]\n",
    "\n",
    "\n",
    "print(\"Number of mislabeled points out of a total {:d} points: {:d}\".format(y.size, sum(y!=y_pred)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example (1 nearest neighbor using sklearn package)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### $k$ Nearest Neighbors\n",
    "\n",
    "- Assign label or value based $k$ nearest neighbors ($k$-NN) in the training set\n",
    "\n",
    "> For example, the most frequent \"vote\" <br/> possibly with weighting\n",
    "\n",
    "- Using $k$ instead of a distance cutoff helps with large density contrasts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of mislabeled points out of a total 150 points: 11\n"
     ]
    }
   ],
   "source": [
    "from sklearn import neighbors\n",
    "\n",
    "X = iris.data[:,:2] # using only 2 features for each\n",
    "y = iris.target\n",
    "\n",
    "clf = neighbors.KNeighborsClassifier(1)\n",
    "y_pred = clf.fit(X,y).predict(X)\n",
    "\n",
    "print(\"Number of mislabeled points out of a total {:d} points: {:d}\".format(y.size, sum(y!=y_pred)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example (15 nearest neighbor using sklearn package with different weighting)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Create color maps\n",
    "from matplotlib.colors import ListedColormap\n",
    "cmap_light = ListedColormap(['#FFBBBB', '#BBFFBB', '#BBBBFF'])\n",
    "cmap_bold = ListedColormap(['#CC0000', '#00AA00', '#0000CC'])\n",
    "\n",
    "n_neighbors = 15\n",
    "\n",
    "# import some data to play with\n",
    "iris = datasets.load_iris()\n",
    "X = iris.data[:,:2]  # we only take the first two features\n",
    "y = iris.target\n",
    "\n",
    "h = .05  # step size in the mesh\n",
    "\n",
    "\n",
    "for weights in ['uniform', 'distance']:\n",
    "    \n",
    "    # we create an instance of Neighbours Classifier and fit the data.\n",
    "    clf = neighbors.KNeighborsClassifier(n_neighbors, weights=weights)\n",
    "    clf.fit(X, y)\n",
    "\n",
    "    # Plot the decision boundary. For that, we will assign a color to each\n",
    "    # point in the mesh [x_min, m_max]x[y_min, y_max].\n",
    "    x_min, x_max = X[:,0].min()-1, X[:,0].max()+1\n",
    "    y_min, y_max = X[:,1].min()-1, X[:,1].max()+1\n",
    "    xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n",
    "                         np.arange(y_min, y_max, h))\n",
    "\n",
    "    Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "\n",
    "    # Put the result into a color plot\n",
    "    Z = Z.reshape(xx.shape)\n",
    "    plt.figure(figsize=(5,5))\n",
    "    if False:\n",
    "        plt.scatter(xx, yy, c=Z, cmap=cmap_light, edgecolor='none')\n",
    "    else:\n",
    "        plt.pcolormesh(xx, yy, Z, cmap=cmap_light)\n",
    "\n",
    "    # Plot also the training points\n",
    "    plt.scatter(X[:,0], X[:,1], c=y, cmap=cmap_bold)\n",
    "    plt.xlim(xx.min(), xx.max())\n",
    "    plt.ylim(yy.min(), yy.max())\n",
    "    plt.title(\"3-Class classification (k = {:d}, weights = '{}')\".format(n_neighbors, weights)) "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
